package src.example.商场收银系统.v3;

import java.util.Scanner;

/**
 * 这就是策略模式，但是判断使用那个类交给了客户端。
 * 所以此时我们可以使用策略模式和简单工厂模式结合来实现。让工厂模式来创建具体的对象
 * 详细结合请看Context2，也就只是将具体的创建对象交给了Context来完成了而已
 */

public class Client {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        String name=scanner.next();
        src.example.商场收银系统.v3.Context context=null;
        if (name.equals("正常收费")){
            context=new src.example.商场收银系统.v3.Context(new CashNormal());
        }
        if (name.equals("打八折")){
            context=new src.example.商场收银系统.v3.Context(new CashRebate(0.8));
        }
        double price = context.getTotalPrice(10, 15);
        System.out.println(price);
    }
}
